package com.ruoyi.gradeUpdate.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 分销等级升级条件对象 wdmd_distribution_grade_update
 * 
 * @author ruoyi
 * @date 2025-10-11
 */
public class DistributionGradeUpdate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 条件ID */
    private Long updateId;

    /** 所属等级ID */
    @Excel(name = "所属等级ID")
    private Long gradeId;

    /** 目标等级ID */
    @Excel(name = "目标等级ID")
    private Long targetGradeId;

    /** 单笔订单金额要求 */
    @Excel(name = "单笔订单金额要求")
    private BigDecimal singleOrderAmount;

    /** 累计订单金额要求 */
    @Excel(name = "累计订单金额要求")
    private BigDecimal cumulativeOrderAmount;

    /** 累计订单次数要求 */
    @Excel(name = "累计订单次数要求")
    private Long cumulativeOrderTimes;

    /** 累计返佣金额要求 */
    @Excel(name = "累计返佣金额要求")
    private BigDecimal cumulativeRebateAmount;

    /** 条件有效天数 */
    @Excel(name = "条件有效天数")
    private Long validTimeDays;

    /** 条件优先级 */
    @Excel(name = "条件优先级")
    private Long sortOrder;

    /** 状态（0=上架 1=下架） */
    @Excel(name = "状态", readConverterExp = "0==上架,1==下架")
    private String status;

    /** 删除标志（0存在 2删除） */
    private String delFlag;

    /** 版本号（乐观锁） */
    @Excel(name = "版本号", readConverterExp = "乐=观锁")
    private Long version;

    public void setUpdateId(Long updateId) 
    {
        this.updateId = updateId;
    }

    public Long getUpdateId() 
    {
        return updateId;
    }

    public void setGradeId(Long gradeId) 
    {
        this.gradeId = gradeId;
    }

    public Long getGradeId() 
    {
        return gradeId;
    }

    public void setTargetGradeId(Long targetGradeId) 
    {
        this.targetGradeId = targetGradeId;
    }

    public Long getTargetGradeId() 
    {
        return targetGradeId;
    }

    public void setSingleOrderAmount(BigDecimal singleOrderAmount) 
    {
        this.singleOrderAmount = singleOrderAmount;
    }

    public BigDecimal getSingleOrderAmount() 
    {
        return singleOrderAmount;
    }

    public void setCumulativeOrderAmount(BigDecimal cumulativeOrderAmount) 
    {
        this.cumulativeOrderAmount = cumulativeOrderAmount;
    }

    public BigDecimal getCumulativeOrderAmount() 
    {
        return cumulativeOrderAmount;
    }

    public void setCumulativeOrderTimes(Long cumulativeOrderTimes) 
    {
        this.cumulativeOrderTimes = cumulativeOrderTimes;
    }

    public Long getCumulativeOrderTimes() 
    {
        return cumulativeOrderTimes;
    }

    public void setCumulativeRebateAmount(BigDecimal cumulativeRebateAmount) 
    {
        this.cumulativeRebateAmount = cumulativeRebateAmount;
    }

    public BigDecimal getCumulativeRebateAmount() 
    {
        return cumulativeRebateAmount;
    }

    public void setValidTimeDays(Long validTimeDays) 
    {
        this.validTimeDays = validTimeDays;
    }

    public Long getValidTimeDays() 
    {
        return validTimeDays;
    }

    public void setSortOrder(Long sortOrder) 
    {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder() 
    {
        return sortOrder;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public void setVersion(Long version) 
    {
        this.version = version;
    }

    public Long getVersion() 
    {
        return version;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("updateId", getUpdateId())
            .append("gradeId", getGradeId())
            .append("targetGradeId", getTargetGradeId())
            .append("singleOrderAmount", getSingleOrderAmount())
            .append("cumulativeOrderAmount", getCumulativeOrderAmount())
            .append("cumulativeOrderTimes", getCumulativeOrderTimes())
            .append("cumulativeRebateAmount", getCumulativeRebateAmount())
            .append("validTimeDays", getValidTimeDays())
            .append("sortOrder", getSortOrder())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("version", getVersion())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .toString();
    }
}
